package com.jar.exercise.泛型.通配符;

import com.jar.exercise.反射.Student;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

/**
 * @author ZhangShengHao
 * @className Demo1
 * @description TODO
 * @date 2020/1/20 23:31
 */
public class Demo {
	public static void main(String[] args) {
		List<String> list1 = new ArrayList<>();
		list1.add("list1");
		list1.add("list2");
		list1.add("list3");
		List<Object> list2 = new ArrayList<>();
		list1.add("Object1");
		list1.add("Object2");
		list1.add("Object3");
		List<?> lll = null;
//        lll.add(?)
		lll.get(0);  //“可以的”
		print1(list1);
		print1(list2);
		print(list2);
		print(list1);

	}

	public static <E> void print(List<E> array) {
		for (E e : array) {
			System.out.println(e);
		}
	}

	public static void print1(List<?> array) {
		for (Object o : array) {
			System.out.println(o);
		}
	}
	public <T> void forEach(Collection<T> collection) {}

	public <E extends String> void iter(Collection<E> collection) {}

	// 第一组
// 第二组
	public static void printArray(Object[] objs) {}

	public static <T extends Student> void printArray(T[] objs) {}
}
